package com.jf.identity.dao.visexamid;

import com.jf.identity.entity.ExamBaseParam;
import com.jf.identity.entity.Message;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 指令/回复dao
 *
 * @author FCG
 */
public interface MessageDao {
    /**
     * 按考点、考试场次、逻辑考场号获取考务平台指令
     *
     * @param examBaseParam 考试信息
     *                      "orgCode": "机构代码",
     *                      "examId": "考试计划编号",
     *                      "examSessionNum": "考试场次编号",
     *                      "logicExamRoomNum": "逻辑考场号"
     * @return 考务平台指令
     */
    List<Message> getCommandsBySessionNum(@Param("examBaseParam")ExamBaseParam examBaseParam);

    /**
     * 提交指令已读状态
     *
     *
     * @param examBaseParam
     * @param msgId "msgId": "指令id"
     * @return 是否更新成功
     */
    int setCommandRead(@Param("examBaseParam") ExamBaseParam examBaseParam,
                       @Param("msgId")String msgId);

    /**
     * 提交/修改指令回复内容
     *
     * @param message 回复内容
     *                "msgId": "指令id",
     *                "reply": "回复内容",
     *                "imageUrls": "图片保存路径"
     * @return 是否更新成功
     */
    int setCommandReply(@Param("examBaseParam") ExamBaseParam examBaseParam,
                        @Param("message")Message message);

    /**
     * 获取指令回复图片存储路径
     *
     * @param examBaseParam
     * @param msgId "msgId": "指令id",
     * @return 图片存储路径
     */
    String getReplyImageUrls(@Param("examBaseParam") ExamBaseParam examBaseParam,
                             @Param("msgId")String msgId);
}














